package com.jiangyao.model.dto.backend;
import com.jiangyao.model.dto.BaseDTO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.Date;

/**
 * @author zhousx
 * @create 2020/8/27
 */
@Data
@ApiModel(value = "发布职位修改职位DTO")
public class AddJobDTO implements BaseDTO{

    /**
     * 职位ID
     */
    @ApiModelProperty("归属组织ID")
    @NotNull(message = "归属组织ID不能为空", groups = {Edit.class})
    private Integer jobId;
    /**
     * 归属组织ID
     */
    @ApiModelProperty("归属组织ID")
    @NotNull(message = "归属组织ID不能为空", groups = {Add.class,Edit.class})
    private Integer orgId;

    /**
     * 分类
     */
    @ApiModelProperty("分类")
    @NotNull(message = "分类ID不能为空", groups = {Add.class,Edit.class})
    private Integer categoryId;

    /**
     * 所属行业
     */
    @ApiModelProperty("所属行业")
    @NotNull(message = "所属行业不能为空", groups = {Add.class,Edit.class})
    private Integer belongIndustry;

    /**
     * 职位名称
     */
    @ApiModelProperty("职位名称")
    @NotNull(message = "职位名称不能为空", groups = {Add.class,Edit.class})
    @NotEmpty(message = "职位名称不能为空", groups = {Add.class,Edit.class})
    private String jobName;

    /**
     * 拟招聘人数
     */
    @ApiModelProperty("拟招聘人数")
    private Integer needNum;

    /**
     * 经验要求 0不限 1-1到2年 2-3到5年 3-6到10年 4-10年以上
     */
    @ApiModelProperty("经验要求 0不限 1-1到2年 2-3到5年 3-6到10年 4-10年以上")
    @NotNull(message = "经验要求不能为空", groups = {Add.class,Edit.class})
    @NotEmpty(message = "经验要求不能为空", groups = {Add.class,Edit.class})
    private String experience;

    /**
     * 学历要求 0不限 1高中 2大专 3本科 4硕士 5博士
     */
    @ApiModelProperty("学历要求 0不限 1高中 2大专 3本科 4硕士 5博士")
    @NotNull(message = "经验要求不能为空", groups = {Add.class,Edit.class})
    @NotEmpty(message = "经验要求不能为空", groups = {Add.class,Edit.class})
    private String education;

    /**
     * 职位标签
     */
    @ApiModelProperty("职位标签")
    private String jobTag;

    /**
     * 薪资-小
     */
    @ApiModelProperty("薪资-小")
    @NotNull(message = "薪资-小不能为空", groups = {Add.class,Edit.class})
    private Integer minSize;

    /**
     * 薪资-大
     */
    @ApiModelProperty("薪资-大")
    @NotNull(message = "薪资-大不能为空", groups = {Add.class,Edit.class})
    private Integer maxSize;

    /**
     * 职位简介
     */
    @ApiModelProperty("职位简介")
    private String jobDesc;

    /**
     * 职位详细介绍
     */
    @ApiModelProperty("职位详细介绍")
    private String jobDetail;

    /**
     * 省
     */
    @ApiModelProperty("省")
    private String province;

    /**
     * 市
     */
    @ApiModelProperty("市")
    private String city;

    /**
     * 区
     */
    @ApiModelProperty("区")
    private String region;

    /**
     * 详细地址
     */
    @ApiModelProperty("详细地址不能为空")
    @NotNull(message = "详细地址不能为空", groups = {Add.class,Edit.class})
    @NotEmpty(message = "详细地址不能为空", groups = {Add.class,Edit.class})
    private String address;

    /**
     * 有效结束时间
     */
    @ApiModelProperty("有效结束时间0为不限1,1为3天,2为15天，3为30天")
    @NotNull(message = "有效结束时间不能为空", groups = {Add.class,Edit.class})
    @NotEmpty(message = "有效结束时间不能为空", groups = {Add.class,Edit.class})
    private String endTimeType;


    /**
     * 试题ID
     */
    @ApiModelProperty("试题ID")
    private Integer questionId;

    /**
     * 默认通过试题的得分
     */
    @ApiModelProperty("默认通过试题的得分")
    private Integer questionScore;

    /**
     * 生成时间
     */
    @ApiModelProperty("生成时间")
    private Date createTime;

    /**
     * 创建人
     */
    @ApiModelProperty("创建人")
    private Integer createAdminId;

    /**
     * 状态 1启用 0 关闭
     */
    @ApiModelProperty("状态 1启用 0 关闭")
    private String status;

}
